package DesignPattern.Builder.Singleton.Lazy;

//多线程不安全
public class LazyNotSafe {
    private LazyNotSafe() {
    }

    private static LazyNotSafe instance;

//    synchronized同步锁解决线程不安全问题，但大部分可能是读操作，synchronized会导致性能问题
    public static synchronized LazyNotSafe getInstance() {
//        判断instance是否为null，是则新建返回，否则直接返回
        if (instance == null) {
//            线程1进入判断，等待，线程2有可能也进入到判断，此时不为单例模式
            instance = new LazyNotSafe();
        }
        return instance;
    }
}
